1. Field
Embodiments of the present invention generally relate to graphics and video processing. More specifically, embodiments of the present invention refer to antialiasing and alternate frame rendering across multiple graphics processing units.
2. Background
Graphics and video processing hardware and software continue to become more advance each year. Graphics and video processing circuitry is typically present on add-on cards in a computer system, but can also be found on the motherboard itself. The graphics processor is responsible for creating graphics displayed by a monitor of the computer system. In early text-based personal computers, the display of graphics on a monitor was a relatively simple task. However, as the complexity of modern graphics-capable operating systems has dramatically increased due to the amount of information to be displayed, it is now impractical for graphics processing to be handled by the main processor or central processing unit of the computer system. As a result, the display of graphics is now handled by increasingly-intelligent graphics cards, which include specialized co-processors referred to as graphics processing units (GPUs) or video processing units (VPUs).
Various aspects of video processing typically require a trade-off between quality and performance. One example of this trade-off involves correction for aliasing, which is typically referred to as anti-aliasing (AA). AA refers to a minimization of artifacts, known as aliasing, when representing a high-resolution signal at a lower resolution. The graphics process of rendering draws one or more pixels to be displayed (e.g., on the monitor of the computer system).
Aliasing includes edge aliasing and surface aliasing. Edge aliasing creates stair steps in an edge of a display that should appear smooth. Surface aliasing includes flashing or “popping” of very thin polygons (also referred to as moiré patterns) in a display. Techniques for alleviating edge and surface aliasing effects include multisampling and supersampling. Multisampling addresses edge aliasing by creating multiple samples of pixels, which are used to generate intermediate points between pixels. These multiple samples are averaged to determine the displayed pixel color value. The displayed edge in the multisampled image has a softened stair step effect. Multisampling, however, does not address the effects of surface aliasing.
Supersampling addresses both the effects of edge aliasing and surface aliasing. However, supersampling is computationally more intensive than multisampling and thus rarely performed in consumer-level GPU systems. Pixel centers (as opposed to pixels) carry texture information in the supersampling process. In supersampling, each pixel is rendered multiple times to yield multiple color values, which are then averaged to give a final pixel color. As a result, the displayed image has a softened effect.
Multisampling and supersampling techniques can be a computationally-intensive process for the GPU system since these AA techniques are processed through a video processing pipeline of the GPU system multiple times to create offset samples with respect to pixels or pixel centers. As a result, GPU processing time is increased.